#include <stdio.h>

#include "base/Processor.h"
#include "base/isa_ext.h"

const char* isa_ext_name (int isa_ext) {
    switch (isa_ext) {
      case ISA_EXT_PRINT_ARGC:           return "ISA_EXT_PRINT_ARGC";
      case ISA_EXT_BARRIER_NOFLUSH:      return "ISA_EXT_BARRIER_NOFLUSH";
      case ISA_EXT_GOTO_REAL:            return "ISA_EXT_GOTO_REAL";
      case ISA_EXT_COMMIT:               return "ISA_EXT_COMMIT";
      case ISA_EXT_LOOP:                 return "ISA_EXT_LOOP";
      case ISA_EXT_LOOPLABEL:            return "ISA_EXT_LOOPLABEL";
      case ISA_EXT_ULOOP:                return "ISA_EXT_ULOOP";
      case ISA_EXT_PROFILESNPT:          return "ISA_EXT_PROFILESNPT"; 
      case ISA_EXT_LOOPEXIT:             return "ISA_EXT_LOOPEXIT";
      case ISA_EXT_SYNCSNPTUNLOCK:       return "ISA_EXT_SYNCSNPTUNLOCK"; 
      case ISA_EXT_GETMYID:              return "ISA_EXT_GETMYID";
      case ISA_EXT_GETNUMCPUS:           return "ISA_EXT_GETNUMCPUS";
      case ISA_EXT_SIGEXIT:              return "ISA_EXT_SIGEXIT";
      case ISA_EXT_PRINT_FMT:            return "ISA_EXT_PRINT_FMT";
      case ISA_EXT_PRINT_ARGV:           return "ISA_EXT_PRINT_ARGV";
      case ISA_EXT_RF_INSERT:            return "ISA_EXT_RF_INSERT";
      case ISA_EXT_RF_CLEAR:             return "ISA_EXT_RF_CLEAR";
      case ISA_EXT_WF_INSERT:            return "ISA_EXT_WF_INSERT";
      case ISA_EXT_WF_CONTAINS:          return "ISA_EXT_WF_CONTAINS";
      case ISA_EXT_WF_CLEAR:             return "ISA_EXT_WF_CLEAR";
      case ISA_EXT_WF_PRELOCK:           return "ISA_EXT_WF_PRELOCK";
      case ISA_EXT_WF_LOCK:              return "ISA_EXT_WF_LOCK";
      case ISA_EXT_WF_UNLOCK:            return "ISA_EXT_WF_UNLOCK";
      case ISA_EXT_THEXIT:               return "ISA_EXT_THEXIT";
      case ISA_EXT_FORK:                 return "ISA_EXT_FORK";
      case ISA_EXT_CPUHALT:              return "ISA_EXT_CPUHALT";
      case ISA_EXT_NUMTHREAD:            return "ISA_EXT_NUMTHREAD";
      case ISA_EXT_STAT_LOCK:            return "ISA_EXT_STAT_LOCK";
      case ISA_EXT_STAT_UNLOCK:          return "ISA_EXT_STAT_UNLOCK";
      case ISA_EXT_STAT_BAR:             return "ISA_EXT_STAT_BAR";
      case ISA_EXT_STAT_BAREND:          return "ISA_EXT_STAT_BAREND";
      case ISA_EXT_SETPRINT:             return "ISA_EXT_SETPRINT";
      case ISA_EXT_MODE:                 return "ISA_EXT_MODE";
      case ISA_EXT_THEND:                return "ISA_EXT_THEND";
      case ISA_EXT_THREADID:             return "ISA_EXT_THREADID";
      case ISA_EXT_SETFORKADDR:          return "ISA_EXT_SETFORKADDR";
      case ISA_EXT_SETFORKPHASE:         return "ISA_EXT_SETFORKPHASE";
      case ISA_EXT_STATS_ENABLE:         return "ISA_EXT_STATS_ENABLE";
      case ISA_EXT_STATS_DISABLE:        return "ISA_EXT_STATS_DISABLE";
      case ISA_EXT_BEGINCLOSED:          return "ISA_EXT_BEGINCLOSED";
      case ISA_EXT_ENDCLOSED:            return "ISA_EXT_ENDCLOSED";
      case ISA_EXT_NONT_ENABLE:          return "ISA_EXT_NONT_ENABLE";
      case ISA_EXT_NONT_DISABLE:         return "ISA_EXT_NONT_DISABLE";
      case ISA_EXT_RELEASE:              return "ISA_EXT_RELEASE";
      case ISA_EXT_PRINT_WARNING:        return "ISA_EXT_PRINT_WARNING";
      case ISA_EXT_PRINT_BUFFER:         return "ISA_EXT_PRINT_BUFFER";
      case ISA_EXT_SET_IGNORE_PROGRESS:  return "ISA_EXT_SET_IGNORE_PROGRESS";
      case ISA_EXT_TAKESOWOV:            return "ISA_EXT_TAKESOWOV";
      case ISA_EXT_UNUSED_432:           return "ISA_EXT_UNUSED_432";
      case ISA_EXT_UNUSED_433:           return "ISA_EXT_UNUSED_433";
      case ISA_EXT_DISCARD_STATE:        return "ISA_EXT_DISCARD_STATE";
      case ISA_EXT_TAKECHKPT:            return "ISA_EXT_TAKECHKPT";
      case ISA_EXT_RSTRCHKPT:            return "ISA_EXT_RSTRCHKPT";
      case ISA_EXT_VIOS_ENABLE:          return "ISA_EXT_VIOS_ENABLE";
      case ISA_EXT_VIOS_DISABLE:         return "ISA_EXT_VIOS_DISABLE";
      case ISA_EXT_WF_LOCK_EAGER:        return "ISA_EXT_WF_LOCK_EAGER";
      case ISA_EXT_GETVADDR:             return "ISA_EXT_GETVADDR";
      case ISA_EXT_BEGINOPEN:            return "ISA_EXT_BEGINOPEN";
      case ISA_EXT_ENDOPEN:              return "ISA_EXT_ENDOPEN";
      case ISA_EXT_VALIDATE:             return "ISA_EXT_VALIDATE";
      case ISA_EXT_OVERHEAD_ENABLE:      return "ISA_EXT_OVERHEAD_ENABLE";
      case ISA_EXT_OVERHEAD_DISABLE:     return "ISA_EXT_OVERHEAD_DISABLE";
      case ISA_EXT_GETDEPTH:             return "ISA_EXT_GETDEPTH";
      case ISA_EXT_UNCACHED_SIZE:        return "ISA_EXT_UNCACHED_SIZE";
      case ISA_EXT_UNCACHED_SETWORD:     return "ISA_EXT_UNCACHED_SETWORD";
      case ISA_EXT_UNCACHED_STORE:       return "ISA_EXT_UNCACHED_STORE";
      case ISA_EXT_UNCACHED_LOAD:        return "ISA_EXT_UNCACHED_LOAD";
      case ISA_EXT_UNUSED_451:           return "ISA_EXT_UNUSED_451";
      case ISA_EXT_UNUSED_452:           return "ISA_EXT_UNUSED_452";
      case ISA_EXT_GETLOGHEADER:         return "ISA_EXT_GETLOGHEADER";
      case ISA_EXT_TAKESNAPSHOT:         return "ISA_EXT_TAKESNAPSHOT";
      case ISA_EXT_RELEASESNAPSHOT:      return "ISA_EXT_RELEASESNAPSHOT";
      case ISA_EXT_SETJMP:               return "ISA_EXT_SETJMP";
      case ISA_EXT_LONGJMP:              return "ISA_EXT_LONGJMP";
      case ISA_EXT_VIOS_TYPE:            return "ISA_EXT_VIOS_TYPE";
      case ISA_EXT_FETCH_EX:             return "ISA_EXT_FETCH_EX";
      case ISA_EXT_PROF_STM_aABORT:      return "ISA_EXT_PROF_STM_aABORT";
      case ISA_EXT_PROF_STM_zABORT:      return "ISA_EXT_PROF_STM_zABORT";
      case ISA_EXT_PROF_STM_aCOMMIT:     return "ISA_EXT_PROF_STM_aCOMMIT";
      case ISA_EXT_PROF_STM_zCOMMIT:     return "ISA_EXT_PROF_STM_zCOMMIT";
      case ISA_EXT_PROF_STM_aNEWTHREAD:  return "ISA_EXT_PROF_STM_aNEWTHREAD";
      case ISA_EXT_PROF_STM_zNEWTHREAD:  return "ISA_EXT_PROF_STM_zNEWTHREAD";
      case ISA_EXT_PROF_STM_aREAD:       return "ISA_EXT_PROF_STM_aREAD";
      case ISA_EXT_PROF_STM_zREAD:       return "ISA_EXT_PROF_STM_zREAD";
      case ISA_EXT_PROF_STM_aSTART:      return "ISA_EXT_PROF_STM_aSTART";
      case ISA_EXT_PROF_STM_zSTART:      return "ISA_EXT_PROF_STM_zSTART";
      case ISA_EXT_PROF_STM_aSTERILIZE:  return "ISA_EXT_PROF_STM_aSTERILIZE";
      case ISA_EXT_PROF_STM_zSTERILIZE:  return "ISA_EXT_PROF_STM_zSTERILIZE";
      case ISA_EXT_PROF_STM_aWRITE:      return "ISA_EXT_PROF_STM_aWRITE";
      case ISA_EXT_PROF_STM_zWRITE:      return "ISA_EXT_PROF_STM_zWRITE";
      case ISA_EXT_PROF_STM_aWRITELOCAL: return "ISA_EXT_PROF_STM_aWRITELOCAL";
      case ISA_EXT_PROF_STM_zWRITELOCAL: return "ISA_EXT_PROF_STM_zWRITELOCAL";
      case ISA_EXT_PROF_STM_SUCCESS:     return "ISA_EXT_PROF_STM_SUCCESS";
      case ISA_EXT_PROF_SIGTM_aBACKOFF:  return "ISA_EXT_PROF_SIGTM_aBACKOFF";
      case ISA_EXT_PROF_SIGTM_zBACKOFF:  return "ISA_EXT_PROF_SIGTM_zBACKOFF";
      case ISA_EXT_PROF_SIGTM_aHANDLER:  return "ISA_EXT_PROF_SIGTM_aHANDLER";
      case ISA_EXT_PROF_SIGTM_zHANDLER:  return "ISA_EXT_PROF_SIGTM_zHANDLER";
      case ISA_EXT_LINE_MOVE:            return "ISA_EXT_LINE_MOVE";
      case ISA_EXT_GETRETRIES:           return "ISA_EXT_GETRETRIES";
      case ISA_EXT_SIGTHREAD:            return "ISA_EXT_SIGTHREAD";
      case ISA_EXT_UNUSED_484:           return "ISA_EXT_UNUSED_484";
      case ISA_EXT_UNUSED_485:           return "ISA_EXT_UNUSED_485";
      case ISA_EXT_SET_SM:               return "ISA_EXT_SET_SM";
      case ISA_EXT_CLEAR_SM:             return "ISA_EXT_CLEAR_SM";
      case ISA_EXT_JOINSNAPSHOT:         return "ISA_EXT_JOINSNAPSHOT";
      case ISA_EXT_LEAVESNAPSHOT:        return "ISA_EXT_LEAVESNAPSHOT";
      case ISA_EXT_RESETVIOADDR:         return "ISA_EXT_RESETVIOADDR";
      case ISA_EXT_ENABLE_WATCH:         return "ISA_EXT_ENABLE_WATCH";
      case ISA_EXT_DISABLE_WATCH:        return "ISA_EXT_DISABLE_WATCH";
      case ISA_EXT_SETSNAPSHOT:          return "ISA_EXT_SETSNAPSHOT";
      case ISA_EXT_STAT_WATCH:           return "ISA_EXT_STAT_WATCH";
      case ISA_EXT_STAT_WATCHEND:        return "ISA_EXT_STAT_WATCHEND";
      case ISA_EXT_UNUSED_496 :          return "ISA_EXT_UNUSED_496";
      case ISA_EXT_GETREGSNAPSHOT:       return "ISA_EXT_GETREGSNAPSHOT";
      case ISA_EXT_SETSOW:               return "ISA_EXT_SETSOW";
      case ISA_EXT_RESETSOW:             return "ISA_EXT_RESETSOW";
      default:                           return NULL;
    }
}
